package com.plian.system.entity.glc;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * @description: 任期经营业绩考核指标表-财务绩效
 * @author: zhangsk
 * @create: 2025-01-16 18:08
 */
@Data
@TableName("glc_business_indicators")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "GlcBusinessIndicatorsRq对象", description = "管理层任期经营业绩考核指标表-财务绩效")
public class GlcBusinessIndicators extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主表id")
    private Long baseBusinessIndicatorsId;

    @ApiModelProperty(value = "指标Id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long indicatorsCategoryId;

    @ApiModelProperty(value = "指标名称")
    private String indicatorsCategoryName;

    @TableField(value = "indicators_weight", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "指标权重")
    private BigDecimal indicatorsWeight;

    @TableField(value = "baseline", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "基准值")
    private BigDecimal baseline;

    @TableField(value = "target", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "激励目标值")
    private BigDecimal target;

    @TableField(value = "basic_target",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "基本目标值")
    private BigDecimal basicTarget;

    @ApiModelProperty(value = "数据来源 null为系统填报 对应用户id")
    private String dataSource;

    @ApiModelProperty(value = "数据来源id", required = true)
    private String dataSourceId;

    @ApiModelProperty(value = "指标code")
    @TableField(exist = false)
    private String indicatorsCode;
}
